内存计算技术的主要特点有哪些
内存计算技术的主要特点有以下这些:
基于内存的高效数据读取和处理:从数据库中读取数据因为磁盘I/O的性能限制而成为瓶颈,原因是传统数据库实际上是将数据以文件的形式存储在磁盘上并为应用提供访问数据的接口,从数据库中读取数据的本质是从磁盘上读取文件。在过去几十年的硬件发展中,内存和CPU的性能始终在飞速提升,只有磁盘I/O的性能提升并不明显。从磁盘上读取数据的速度是毫秒级,而从内存中读取数据的速度是纳秒级,基于内存的数据读取比基于磁盘的数据读取性能要快100万倍。所以当基于数据仓库进行报表分析时,如果从传统数据库中读取海量数据需要数十分钟的时间,那么从SAP HANA中读取同样的数据只需要不到一秒钟的时间。
行存储和列存储的混合模式:传统关系型数据库是按照行的方式存储数据的,能够为交易系统即OLTP应用提供高效的支持。例如,一个零售商每当客户购买产品时,需要在业务系统中创建一条数据记录销售的时间、地点、客户、金额、地址等字段数据,当前端完成数据的录入并提交后台系统后,在数据库中会在数据表中插入一行记录,这条记录中会包含本次销售业务操作相关的数据。然而,基于行存储的数据库在支持数据分析应用即OLAP应用时则显得低效和力不从心。
高效的并行处理机制:SAP HANA支持多服务器、多处理器的高效并行处理,能够最高效、充分地利用多处理器的并发能力。能够拆解数据模型,分成可以并行执行的步骤,也能够将数据处理和运算拆分并部署到多个处理器。例如,计算引擎可以将数据模型拆解,将一些SQL脚本拆分成可以并行执行的步骤。这些操作将递交给数据库优化器来决定最佳的访问行存储和列存储的方案。
高效的数据压缩优化内存利用:SAP HANA的基本机制是将数据全部存储到内存中,以进行高效的数据访问和运算。虽然硬件包括内存的价格日趋低廉,但相比磁盘而言,内存仍是较贵的存储设备。而在企业系统中数据增长迅速,达到数TB甚至数十TB的情况下,将所有数据原封不动地导入内存仍将带来较大的硬件投资。为了帮助企业节省这一部分投资,SAP HANA中采取了基于智能数据字典等高效的数据压缩机制,能够将数据压缩5~20倍,从而充分节约硬件投资。
虚拟建模减少数据冗余:在SAP HANA中,将源数据导入内存后,在HANA中的虚拟建模,一个属性视图可以被看作为一个数据立方体,属性视图不存储任何数据,数据存储在列存储表中,系统只保存这些数据模型内表的构际关系以及数据的运算逻辑,当前端提交分析请求时,HANA会根据虚拟数据模型进行数据的计算并将结果提交给前端。这意味着HANA中不会存在冗余的数据,从而大大节约了硬件的投资和维护成本。
在数据库层面进行数据密集型运算:SAP HANA除了提供完善的数据库功能外,其内置的计算引擎可以将原本在应用层进行的运算转移到数据库层面进行处理,这在数据密集型运算的场景中,能够优化应用层和数据库层之间的数据交互,从而从整体上提升系统的效率。传统上,数据密集型运算包括计划、预测、模拟等,在HANA中首先将计划(Planning)引擎植入计算引擎中,从而使得基于HANA的计划应用的性能得到极大提升。
与SAP ERP紧密整合提供实时的数据可视性:SAP HANA能够和SAP ERP紧密集成,将ERP中的数据利用SLT(SAP Landscape Transformation)技术实时地复制到HANA的内存中,并基于这些数据建立数据分析的应用,从而为业务带来几个主要的好处,一是充分利用HANA的内存计算技术,基于大数据量进行高效、高速的数据分析和处理;二是减少传统的在ERP中直接分析这些数据给ERP系统带来的额外性能压力;三是利用基于HANA上的BI工具可以进行灵活的数据分析;四是基于实时数据进行分析,带来实时的业务洞察力;五是利用触发机制将SAP ERP中的数据能够实时同步到HANA中。
与BOBJ Data Service整合提升数据质量:SAP HANA和BOBJ Data Service紧密整合,从第三方系统获取数据。Data Service中提供可视化的数据抽取、清洗、加载以及数据质量管理的功能,能够保证进入HANA的数据都是高质量的数据,从而确保基于HANA进行数据分析的准确性,为业务决策提供更好的支持。